package com.activemq.demo.producer;

import lombok.AllArgsConstructor;
import org.apache.activemq.command.ActiveMQQueue;
import org.springframework.jms.core.JmsMessagingTemplate;
import org.springframework.stereotype.Service;


/**
 * activeMQ是java开发支持事务的,kafka和rabbitMQ是不支持事务的
 * @author biaoyang
 * @Description:生产消费者模式
 * @date 2018/8/30 003015:30
 */
@Service
@AllArgsConstructor
public class ProducerQueue {
    private final JmsMessagingTemplate jmsTemplate;

    /**
     * 生产消费者模式--发送消息方法
     * @param destinationName
     * @param messages
     */
    public void sendMsg(String destinationName, String messages) {
        //当然了可以启动服务时就实例化好,然后直接注入使用,我这里就不去注入了直接在这里实例化,不用主应用类里实例化好的了
        System.err.println("================>>>>生产消费者模式:" + messages);
        jmsTemplate.convertAndSend(new ActiveMQQueue(destinationName), messages);
    }
}
